/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.deployment.entity.orcamento;

import br.com.deployment.entidade.acesso.Usuario;
import br.com.deployment.entidade.empresa.Cartorio;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;
import javax.validation.constraints.NotNull;

/**
 *
 * @author roniere
 */
@Entity
public class Orcamento implements Serializable {
    
    @Id
    @SequenceGenerator(name = "seq_orcamento", sequenceName = "seq_orcamento", allocationSize=1 )
    @GeneratedValue(generator = "seq_orcamento", strategy = GenerationType.SEQUENCE)
    private int id;
    
    @Column
    @NotNull(message="Campo Documento é obrigatório")
    private String doc;
    
    @Column
    @NotNull(message="Campo Interessado é obrigatório")
    private String nome;
    
    @Column(length=500)
    private String observacao;
    
    @Column
    private int prazo;
    
    @Column
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date validade;
    
    @Column
    private boolean status;
    
    @OneToOne
    private Usuario usuario;
    
    @Column
    @Temporal(javax.persistence.TemporalType.DATE)
    private Date dataCadastro;
    
    @OneToMany(cascade= CascadeType.ALL)
    private List<OrcamentoAto> orcamentoAtos;
    
    @OneToOne
    private Cartorio cartorio;

    public Cartorio getCartorio() {
        return cartorio;
    }

    public void setCartorio(Cartorio cartorio) {
        this.cartorio = cartorio;
    }
    
    

    public String getDoc() {
        
        String x = "";
        if(doc != null){
            if(doc.length() == 11 ){
                x = (doc.substring(0, 3)+".");
                x += (doc.substring(3, 6)+".");
                x += (doc.substring(6, 9)+"-");
                x += (doc.substring(9, 11)+"");            
                doc = x;
            }
            if(doc.length() == 14 && !doc.contains(".")){
                x = (doc.substring(0, 2)+".");
                x += (doc.substring(2, 5)+".");
                x += (doc.substring(5, 8)+"/");
                x += (doc.substring(8, 12)+"-");            
                x += (doc.substring(12, 14)+"");            
                doc = x;
            }
        }
        return doc;
    }

    public Date getDataCadastro() {
        return dataCadastro;
    }

    public void setDataCadastro(Date dataCadastro) {
        this.dataCadastro = dataCadastro;
    }
        

    public void setDoc(String doc) {
        this.doc = doc;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getObservacao() {
        return observacao;
    }

    public void setObservacao(String observacao) {
        this.observacao = observacao;
    }

    public List<OrcamentoAto> getOrcamentoAtos() {
        return orcamentoAtos;
    }

    public void setOrcamentoAtos(List<OrcamentoAto> orcamentoAtos) {
        this.orcamentoAtos = orcamentoAtos;
    }

    public int getPrazo() {
        return prazo;
    }

    public void setPrazo(int prazo) {
        this.prazo = prazo;
    }

    public boolean isStatus() {
        return status;
    }

    public void setStatus(boolean status) {
        this.status = status;
    }

    public Usuario getUsuario() {
        return usuario;
    }

    public void setUsuario(Usuario usuario) {
        this.usuario = usuario;
    }

    public Date getValidade() {
        return validade;
    }

    public void setValidade(Date validade) {
        this.validade = validade;
    }



    @Override
    public String toString() {
        return "Orcamento{" + "doc=" + doc + ", nome=" + nome + ", observacao=" + observacao + ", prazo=" + prazo + ", validade=" + validade + ", status=" + status + ", usuario=" + usuario + ", orcamentoAtos=" + orcamentoAtos + '}';
    }
    
    
}
